import QtQuick 1.0
//import ShellInvoker 1.0
import "../../../common/lib/kdeadmouseutils-build-desktop"

  
Flickable {
    id:mainFlickable
     Behavior on contentY {
	 NumberAnimation {duration : 100 } 
     }
    contentWidth: mainDet.width; 
    contentHeight: mainDet.height
    width:650
    height:300
    property variant currentObj : {}
    property alias localFocus : focusable.focus
    signal action(string type);
    /*signal playValidate();
    signal returnValidate();
    signal trailerValidate();
    */
    
//    property alias playBt : playBt
    /*Keys.onDownPressed : {
	event.accepted = navigue(30);
    }
    Keys.onUpPressed : {
	event.accepted = navigue(-30);
    }*/
    property int diffH :  mainDet.height - height;
    
    function navigue(dir){
	contentY += dir; 
	//console.log('CY:'+contentY);
	//console.log('diffH:'+diffH);
	if(contentY<0){
	  contentY = 0;
	  return false;
	}
	if(diffH<contentY){
	  contentY = diffH;
	  return false;
	}
	return true;
    }
    Rectangle {
      opacity:0.6
      color : '#ffffff'
      anchors.fill : parent
      border.width : 2
      border.color : '#1f0033'
      radius:5
    }
     //clip:true ??
     //id:myFlickable
     
    function clear(){
	currentObj = {
	  title:''
	  ,id:''
	  ,productionYear:''
	  ,duree:''
	  ,synopsisShort:''
	  ,synopsis:''
	  ,directors:''
	  ,actors:''
	  ,poster:''
	  ,trailerCode:''
	  ,photo1:''
	};
	/*titTxt.text='-';
	dirTxt.text='-';
	dirAct.text='-';
	dirSyno.text='-';*/
    }
    
    
     
    FocusScope{
      focus:true
      id:focusable
      anchors.fill : parent
      Column {
	  id:mainDet
	  spacing: 10
	  width:500
	  //height:300
	  property int itemH : 30
	  property int colW : 100
	  Text { 
	    id : titTxt
	    text : currentObj.title+' ('+ currentObj.productionYear+' ) - ' + currentObj.duree //"MOVIE TITLE (12345)";
	    width: parent.width
	    height: mainDet.itemH
	    font.pointSize : 16
	  }
	  Row{
	    height: mainDet.itemH 
	    Text { text : 'Directeur : '
		    width: mainDet.colW
		    font.bold:true
		    font.pointSize : 13
	    }
	    Text {
	      id : dirTxt
	      text : currentObj.directors// 'Mr quelconque' 
	      font.pointSize : 13
	    }
	  }
	  
	  /*Row{
	    height: mainDet.itemH 
	    Text { text : 'Genre : '
		  width: mainDet.colW
		  font.bold:true
		  font.pointSize : 13
	    }
	    Text {
	      text : //'genre quelconque' 
	      font.pointSize : 13
	    }
	  }*/
	  
	  Text {
	      id : dirAct
	      text : currentObj.actors //'Robert De Niro, Edward Norton, Milla Jovovich, Frances Conroy, Enver Gjokaj';
	      wrapMode:Text.WordWrap
	      font.pointSize : 13
	      width: parent.width
	  }
	  
	  Text { 
	    id : dirSyno
	    text : currentObj.synopsis //"Alors qu’il compte impatiemment les jours qui le séparent de la retraite, Jack Mabry se retrouve chargé du dossier de Gerald \"Stone\" Creeson, afin de décider si celui-ci peut bénéficier d’une libération conditionnelle. Incarcéré pour avoir maquillé le meurtre de ses grands-parents en déclenchant un incendie, Stone doit convaincre Mabry qu’il s’est réhabilité. Mais sentant qu’il n’a aucune chance de persuader Jack lui-même, Stone va demander à sa femme, Lucetta, de séduire l'agent. Les efforts de celle-ci pour influencer le verdict vont avoir des conséquences aussi profondes qu’inattendues sur les deux hommes. En jouant sur le parallèle troublant entre leurs parcours et leurs tentatives d’échapper aux plus sombres pulsions, le détenu estompe peu à peu la frontière qui sépare l’homme du côté de la loi de celui qui ne l’est pas…";
	    width: parent.width
	    font.pointSize : 13
	    wrapMode:Text.WordWrap
	  }
	  
      }
      
      Item {
	id:actionItem
	width: 150
	height: parent.height
	anchors.verticalCenter:mainDet.verticalCenter
	anchors.leftMargin:10
	anchors.left:mainDet.right
	
	Rectangle {
	  anchors.fill : parent
	  //anchors.centerIn : parent
	  //width:120
	  //height:actionItem.height
	  color:'#ffffff'
	  opacity:0.7
	  border.color : '#1f0033'
	  border.width : 2
	  radius:5
	}
	
	Column {
	  anchors.centerIn : parent
	  width:parent.width - 20
	  height:150
	  spacing : 20
	  focus:true
	  Button {
	    height : 30
	    width : parent.width
	    text : 'Trailer'
	    id:trailerBt
	    focus:true
	    onValidate : mainFlickable.action('trailer');
	    Keys.onDownPressed : {
		  console.log('downBt');
		  playBt.focus=true;
		  event.accepted = true;
	    }
	  }
	  Button { 
	    height : 30
	    width : parent.width
	    text : 'Play'
	    id:playBt
	    focus:true
	    onValidate : mainFlickable.action('play');
	    Keys.onUpPressed : {
		  console.log('downUp');
		  trailerBt.focus=true;
		  event.accepted = true;
	    }
	    Keys.onDownPressed : {
		  console.log('downBt');
		  returnBt.focus=true;
		  event.accepted = true;
	    }
	  }
	  Button { 
	    height : 30
	    width : parent.width
	    text : 'Retour'
	    id:returnBt
	    focus:true
	    Keys.onUpPressed : {
		  console.log('downUp');
		  playBt.focus=true;
		  event.accepted = true;
	    }
	    onValidate : mainFlickable.action('retour');
	  }
	}
    }
}
}
